package com.bonshotels.DomainLayer.ServiceLocator;

import com.bonshotels.DomainLayer.Stubs.ServeiAutoritzacioCredit;

/**
 * La classe ServiceLocator es un stub d'un localitzador de serveis, no l'hem implementat
 * ja que no n'hem vist la implementacio,simplement hem fet una classe que en simula el comportament.
 * Implementa el patro Singleton. Hem evitat sobretot la implementacio del registre de serveis i el retorn
 * del ServiceReference.
 * @author Marc Mauri Alloza
 */
public class ServiceLocator {
	
	/** La instancia del localitzador de serveis. */
	private static ServiceLocator instance;
	
	/**
	 * Instancia un nou ServiceLocator.
	 */
	private ServiceLocator() {
		
	}
	
	/**
	 * Obte la instancia del ServiceLocator.
	 *
	 * @return the service locator
	 */
	public static ServiceLocator obteInstancia() {
		if (instance == null) {
			instance = new ServiceLocator();
		}
		return instance;
	}
	
	/**
	 * Troba el servei amb nom name.
	 *
	 * @param name Nom del servei que volem aconseguir.
	 * @return El ServeiAutoritzacioDeCredit
	 */
	public ServeiAutoritzacioCredit find(String name) {
		return new ServeiAutoritzacioCredit();
	}

}
